package com.yun.space.pro.base.action;

import java.util.List;
import java.util.function.ToDoubleBiFunction;

import com.opensymphony.xwork2.ActionContext;
import com.yun.space.base.BaseAction;
import com.yun.space.entity.User;

import freemarker.core.ReturnInstruction.Return;

/**
 * 实现了 用户登录操作等对用户表的操作
 * @author guo
 */
public class UserAction extends BaseAction<User>{
	private String password2;
	/**
	 * 进入用户登录页面
	 * @author guo
	 */
	public String toUserLogin(){
		return "toUserLogin";
	}
	/**
	 * 判定登录操作,如果登录成功将登录用户放置Session中
	 * 登录失败，放置提示信息
	 * toUserLogin 登录失败
	 * toIndex 登录成功
	 * @author guo
	 * @return 返回命令，跳转页面
	 */
	public String userLogin(){
		//		获取数据
		User user = userService.findEntityByHQL("from User where userName = ? and password = ?",getModel().getUserName(),getModel().getPassword());
		//		登录判定
		if(user == null){
			//			登录失败
			setMessage("登录失败请重新登录");
			return "EEEOR";
		}else{
			//			登录成功
			setAdmin(user);
			ActionContext.getContext().getValueStack().set("mainPictures",mainPictureService.findAll());
			return "SUEECES";
		}
	}
	/**
	 * guo
	 * 进入账户列表界面
	 * @return
	 */
	public String toAccountManagement(){
		List<User> users = userService.findAll();
		ActionContext.getContext().getValueStack().set("users",users);
		return "toAccountManagement";
	}
	/**
	 * guo
	 * 进入账户列表界面的用户编辑页面
	 * @return
	 */
	public String toEdit(){
		User user = userService.getById(getModel().getId());
		//显示编辑页面所需要的信息
		ActionContext.getContext().getValueStack().set("user",user);
		return "toEdit";
	}
	/**
	 * 编辑用户信息
	 * guo
	 * @return
	 */
	public String edit(){
		if(getModel().getPassword().equals(password2)){
			userService.update(getModel());
		}
		ActionContext.getContext().getValueStack().set("user",userService.findAll());
		return "edit";
	}
	/**
	 * 取消编辑用户信息
	 * guo
	 * @return
	 */
	public String noEdit(){
		ActionContext.getContext().getValueStack().set("user",userService.findAll());
		return "noEdit";
	}
	/**
	 * guo
	 * 删除用户
	 * @return
	 */
	public String toDelect(){
		userService.delete(getModel().getId());
		ActionContext.getContext().getValueStack().set("user",userService.findAll());
		return "toDelect";
	}
	/**
	 * guo
	 * 取消删除用户
	 * @return
	 */
	public String noDelect(){
		ActionContext.getContext().getValueStack().set("user",userService.findAll());
		return "noDelect";
	}
	/**
	 * guo
	 * 进入添加用户页面
	 */
	public String toAddPersonnel(){
		return "toAddPersonnel";
	}
	/**
	 * guo
	 * 添加用户
	 */
	public String addPersonnel(){
		userService.save(getModel());
		ActionContext.getContext().getValueStack().set("user",userService.findAll());
		return "addPersonnel";
	}
	/**
	 * guo
	 * 取消添加用户
	 */
	public String noAddPersonnel(){
		ActionContext.getContext().getValueStack().set("user",userService.findAll());
		return "noAddPersonnel";
	}
	public String getPassword2() {
		return password2;
	}
	public void setPassword2(String password2) {
		this.password2 = password2;
	}
	
}
